package com.molichuxing.gateway.bff.car.entity.response;

import com.molichuxing.framework.dto.ResponseRootDto;
import com.molichuxing.services.property.MaintenanceRejectEnum;
import com.molichuxing.services.property.MaintenanceStatusEnum;
import com.molichuxing.services.property.MaintenanceTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 车辆保养审核详细信息
 * </p>
 *
 * @author 
 * @since 2019-08-15
 */
@Data
public class MaintenanceRecordVo extends ResponseRootDto {

    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "id")
    private Integer id;

    @ApiModelProperty(value = "保养id")
    private Integer maintenanceId;

    @ApiModelProperty(value = "订单号")
    private Long orderCode;

    @ApiModelProperty(value = "应保养里程")
    private BigDecimal maintainableMileage;

    @ApiModelProperty(value = "实际保养里程")
    private BigDecimal actualMaintainMileage;

    @ApiModelProperty(value = "实际保养日期")
    private LocalDate actualMaintainDate;

    @ApiModelProperty(value = "应保养日期")
    private LocalDateTime maintainableDate;

    @ApiModelProperty(value = "保养类型 1：A类，2：B类")
    private Integer type;

    @ApiModelProperty(value = "保养类型 1：A类，2：B类")
    private String typeStr;

    @ApiModelProperty(value = "保养门店ID")
    private Integer storeId;

    @ApiModelProperty(value = "保养门店")
    private String storeName;

    @ApiModelProperty(value = "保养卡图片url")
    private String maintenanceUrl;

    @ApiModelProperty(value = "结算单图片url")
    private List<String> settlementUrl;

    @ApiModelProperty(value = "提交用户ID")
    private Integer submitMemberId;

    @ApiModelProperty(value = "提交时间")
    private LocalDateTime submitDate;

    @ApiModelProperty(value = "状态（0：待审核，1：待保养，2：使用期，3：审核通过，4：审核驳回）")
    private Integer status;

    @ApiModelProperty(value = "状态（0：待审核，1：待保养，2：使用期，3：审核通过，4：审核驳回）")
    private String statusStr;

    @ApiModelProperty(value = "0：无，1：上传图片不清晰，2：上传保养卡信息不全，3：上传保养卡无授权店签字盖章")
    private Integer rejectReason;

    @ApiModelProperty(value = "0：无，1：上传图片不清晰，2：上传保养卡信息不全，3：上传保养卡无授权店签字盖章")
    private String rejectReasonStr;

    @ApiModelProperty(value = "操作方（1：op，2：用户）")
    private Integer operationType;

    @ApiModelProperty(value = "操作方Id")
    private String operationId;

    @ApiModelProperty(value = "操作方")
    private String operationName;

    @ApiModelProperty(value = "用户账号")
    private String userName;

    @ApiModelProperty(value = "姓名")
    private String realName;

    @ApiModelProperty(value = "联系方式")
    private String userPhone;

    @ApiModelProperty(value = "身份证号")
    private String idNumber;

    @ApiModelProperty(value = "采购日期")
    private LocalDateTime checkDate;

    @ApiModelProperty(value = "保养方")
    private String submitMemberName;

    /**
     * 用户id
     */
    @ApiModelProperty("用户id")
    private Integer userId;

    /**
     * 用户类型（1：op，2：用户）
     */
    @ApiModelProperty("用户类型")
    private Integer userType;
}
